<?php

// +----------------------------------------------------------------------
// | 版权所有 2017-2027 云南环拓科技有限公司，并保留所有权利。
// +----------------------------------------------------------------------
// | Copyright (c) 2017-2027 http://www.yn123.com All rights reserved.
// +----------------------------------------------------------------------
// | Notice: This code is not open source, it is strictly prohibited
// |         to distribute the copy, otherwise it will pursue its
// |         legal responsibility.
// | 注意：  这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用,
// |        不允许对程序代码以任何形式任何目的的再发布。
// +----------------------------------------------------------------------
// | Author: feraner <feraner@163.com> 
// | Date: 2020/1/2
// +----------------------------------------------------------------------

namespace app\common\services\statistics;

use think\Db;
use think\Request;

/**
 * 该类收集前端用户行为，各个模块的url
 * Class ReceiveArguments
 * @package app\common\services\statistics
 * @author feraner<feraner@163.com>
 * @date 2020/1/2
 */
class ReceiveArguments
{


    /**
     * 每一个请求都会经过这个处理器来收集用户信息
     * @param Request $request
     */
    public function handle(Request $request)
    {
        //没在微信端就丢掉该记录
        if (!session('userId')) {
            return true;
        }

        //需要收集的数据
        try {
            Db::name('user_behavior_log')
                ->insert([
                    'url'       => strtolower($request->baseUrl()),
                    'params'    => json_encode($request->param()),
                    'user_id'   => (session('userId') ?: 0),
                    'ip'        => $request->ip(1),
                    'method'    => strtolower($request->method()),
                    'status'    => 0,
                    'created_at'=> time(),
                    'updated_at'=> time()
                ]);
        } catch (\Exception $e) {
            //不做任何处理，不影响主流程
        }

        return true;
    }




}
